iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

用 vim 打造屬於自己的 IDE系列 第 16

Day 16 用 vim script 客製化套件 (四)

  • 分享至 

  • xImage
  •  

到目前為止我們已經將 vim 打造成一個堪稱 "IDE" 的工具了~
緊接著我們來說說一些小工具來加速我們的開發 (我也是摸索了很多個不同的套件,才把自己覺得好用的納入我的 IDE 中)

nerdcommenter —— 註解工具

Plug 'scooloose/nerdcommenter'

這是一款能用快捷鍵就進行註解的工具,在 Normal ModeVistual Mode 下輸入 <Leader>cc 就可以註解當前行囉!

基本的指令如下:

快捷鍵 說明
<Leader>cc 加入註解
<Leader>cn 巢狀加入註解
<Leader>c<space> 切換註解
<Leader>cs 區塊註解

也能指定註解格式:

let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } }

只要是 .c 的檔案就會使用上面制訂的符號進行註解了~ (如果不需要右方的關閉符號就不需要定義)

你喜歡註解符號後面多一個空白嗎?

let g:NERDSpaceDelims = 1

可是要按三個鍵才能下註解好煩喔。

map <C-_> <Leader>c<space>

這樣我按下 ctrl + / 就可以進行註解了呢!

auto-pairs —— 自動補齊對應的符號

Plug 'kien/auto-pairs'

一開始用 vim 的時候,想要打個成對的單引號 ' 或雙引號 " 都得打兩次!有了這個套件後,它就可以自動幫我把成對的符號補齊了~

不僅如此,它還能在按下 backspace 時檢查是否有成對的符號、輸入結尾符號時判斷是否成對、在成對的符號之間按下空白後自動左右各增加一空白 ... 等

總之這些想得到的功能 它 都 有 !!!是不是很方便呢~

vim-move —— 移動列

Plug 'matze/vim-move'

這是一個將當前所在行或是選取的行,進行上下移動的套件。

而我當然也很懶啦~所以在 Normal ModeVitual Mode 下又動了一些手腳:

vmap <C-j> <Plug>MoveBlockDown
vmap <C-k> <Plug>MoveBlockUp
nmap <C-j> <Plug>MoveLineDown
nmap <C-k> <Plug>MoveLineUp

這讓我可以僅使用 ctrl + (j, k) 就進行移動了,根本不用輸入什麼指令!

ack —— 基於 grep 下的文字搜尋工具

Plug 'mileszs/ack.vim'

ack 是一款 grep like 文字搜尋工具,在 linux 能針對當前目錄進行全域搜尋 (速度比 Fuzzy Search 快得多)~

而在 vim 底下安裝的話也是相同意思,這邊提供用 ctrl + f 進行搜尋的妙招 (?)

nnoremap <C-f> :Ack!<Space>

這會幫我們自動輸入 Ack! 這個指令,後面的字串就是你想找的目標啦~

這些工具安裝完後我認為 vim 就大致上完成啦!接下來會針對一些語言進行優化,因為 vim 也是一款能編輯任何語言的編輯器,所以各個語言還是需要客製一下的啦~


上一篇
Day 15 用 vim script 客製化套件 (三)
下一篇
Day 17 用 vim script 客製化套件 (五)
系列文
用 vim 打造屬於自己的 IDE19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言